#!/bin/bash
# Pocket DS — hand Onboard's placement to the companion's KWin script.
#
# pocketds-userspace's skel kwinrulesrc force-pins Onboard fullscreen on
# DSI-2; a forced rule wins over the script's dock placement, so drop it
# from this user's rules once and let KWin reread them.
rc="${XDG_CONFIG_HOME:-$HOME/.config}/kwinrulesrc"
id=ed4f0d0a-c3a5-4f60-9b80-d54ce7d50002

[ -f "$rc" ] && grep -qF "[$id]" "$rc" || exit 0

tmp=$(mktemp "$rc.XXXXXX") || exit 1
awk -v id="$id" '
    /^\[/ { skip = ($0 == "[" id "]") }
    skip { next }
    /^rules=/ {
        n = split(substr($0, 7), r, ",")
        out = ""; c = 0
        for (i = 1; i <= n; i++) if (r[i] != id && r[i] != "") { out = out (c++ ? "," : "") r[i] }
        print "rules=" out; count = c; next
    }
    { print }
' "$rc" >"$tmp" || { rm -f "$tmp"; exit 1; }
c=$(sed -n 's/^rules=//p' "$tmp" | awk -F, '{print ($0 == "") ? 0 : NF}')
sed -i "s/^count=.*/count=${c:-0}/" "$tmp"
mv "$tmp" "$rc"

dbus-send --session --type=method_call --dest=org.kde.KWin /KWin org.kde.KWin.reconfigure 2>/dev/null
exit 0
